package cn.lzy.study.datasource.annotation;

import cn.lzy.study.datasource.datasource.DataSourceType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 多数据源注解
 * (这个注解可以加在某一个 service类上或者方法上，通过 value 属性来指定类或者方法应该使用哪一个数据源)
 * @author LZY
 * @since 2022-08-10
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface DataSource {
    /**
     * 数据源名称
     * (如果一个方法上加了 @DataSource 注解，但是没有指定数据源名称，默认使用 master 数据源)
     * @return
     */
    String value() default DataSourceType.DEFAULT_DS_NAME;
}
